package com.paas.form.entity;

import com.paas.common.model.BaseModel;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;


/**
 * 表单定义
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("form_definition")
@ApiModel(value="FormDefinition对象", description="")
public class FormDefinitionEntity extends BaseModel {
	
	private static final long serialVersionUID = 1L;

	public static final String BIZ_STATUS_CANCAL = "0"; //审核反对无效
	public static final String BIZ_STATUS_SUBMIT = "1"; //提交
	public static final String BIZ_STATUS_REJECT = "2"; //审核驳回
	public static final String BIZ_STATUS_APPROVAL = "3"; //审核通过
	public static final String BIZ_STATUS_PUBLISH = "4"; //已发布菜单
	public static final String BIZ_STATUS_PUTON = "5"; //已上架
	public static final String BIZ_STATUS_PUBLISHING = "6"; //发布菜单审核中
	public static final String BIZ_STATUS_PUTONING = "7";  //上架审核中
	public static final String BIZ_STATUS_PUTOFFING = "8";	//下架审核中
	public static final String BIZ_STATUS_CHANGEING = "9";	//变更审核中

	@ApiModelProperty(value = "主键id")
	@TableId
	private String id;

	@ApiModelProperty(value = "视图id")
	@TableField("view_id")
	private String viewId;

	@ApiModelProperty(value = "数据状态")
	@TableField("status")
	private String status;

	@ApiModelProperty(value = "描述")
	@TableField("remark")
	private String remark;

	@ApiModelProperty(value = "修改人id")
	@TableField("modify_id")
	private String modifyId;

	@TableField("org_id")
	private String orgId;

	@ApiModelProperty(value = "表单分栏数")
	@TableField("columns_number")
	private String columnsNumber;

	@ApiModelProperty(value = "版本号")
	@TableField("version")
	private String version;

	@ApiModelProperty(value = "是否流程")
	@TableField("is_process")
	private String isProcess;

	@ApiModelProperty(value = "申请流程")
	@TableField("apply_process")
	private String applyProcess;

	@ApiModelProperty(value = "变更流程")
	@TableField("change_process")
	private String changeProcess;

	@ApiModelProperty(value = "启用流程")
	@TableField("enable_process")
	private String enableProcess;

	@ApiModelProperty(value = "停用流程")
	@TableField("stop_process")
	private String stopProcess;

	@ApiModelProperty(value = "删除流程")
	@TableField("delete_process")
	private String deleteProcess;

	/**
	 * 业务状态定义 1发起提交 2审核驳回 3审核通过 4 已发布 5 已上架 6发布审核中 7 上架审核中 8 下架审核中
	 */
	@ApiModelProperty(value = "业务状态 1提交 2审批通过 3 审核驳回")
	@TableField("publish_approval_status")
	private String publishApprovalStatus;

	@ApiModelProperty(value = "申请流程")
	@TableField(exist = false)
	private String applyProcessName;

	@ApiModelProperty(value = "变更流程")
	@TableField(exist = false)
	private String changeProcessName;

	@ApiModelProperty(value = "启用流程")
	@TableField(exist = false)
	private String enableProcessName;

	@ApiModelProperty(value = "停用流程")
	@TableField(exist = false)
	private String stopProcessName;

	@ApiModelProperty(value = "删除流程")
	@TableField(exist = false)
	private String deleteProcessName;

/*--------------------------------------------------------待删除字段---------------------------------------------------------------------*/

	@ApiModelProperty(value = "视图编码")
	@TableField(exist = false)
	private String code;

	@ApiModelProperty(value = "视图名称")
	@TableField(exist = false)
	private String name;

	@ApiModelProperty(value = "视图类型")
	@TableField(exist = false)
	private String type;

	@ApiModelProperty(value = "视图表")
	@TableField(exist = false)
	private String linkTable;

}